Workers Server-Sent events (server push)
There is no explicit limit on real-world runtime of your code, but there is a limit on CPU time. Namely, for any one request, your worker can only spend up to 50ms executing JavaScript code. Each event here wouldn’t take much CPU time – probably less than a millisecond. But after a while they’d add up to 50ms, and then the request would be canceled. Since you’re already sending a response body, the connection would simply be dropped with no other error.
コードの実世界での実行時間には明確な制限はありませんが、CPU 時間には制限があります。つまり、1つのリクエストに対して、WorkerがJavaScriptコードを実行するのに使える時間は50msまでです。ここでの各イベントのCPU時間はそれほど長くなく、おそらく1ミリ秒未満でしょう。しかし、しばらくすると50msになり、リクエストはキャンセルされます。すでにレスポンスボディを送信しているので、他のエラーはなく、単に接続が切断されます。
koushisa.icon
コードを実行するのに使える時間は50msまで
The POC example code in the first post was working to start pushing SSE events from the worker. However, I dropped this approach once durable objects was announced as it covers my use case. I haven’t looked into this approach any further since then.
最初の投稿のPOCサンプルコードは、ワーカーからSSEイベントをプッシュし始めるために機能していました。しかし、耐久性のあるオブジェクトが発表された時点で、私のユースケースをカバーしているので、このアプローチはやめました。それ以来、このアプローチについてそれ以上調べていません。